package com.youlai.boot.system.model.form;

import java.io.Serial;
import java.io.Serializable;

import com.youlai.boot.system.model.vo.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.*;

/**
 * 莱普森订单表单对象
 *
 * @author lwb
 * @since 2025-07-13 16:00
 */
@Getter
@Setter
@Schema(description = "莱普森订单表单对象")
public class LpsOrderForm implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    private Long id;

    @Schema(description = "用户id")
    //@NotNull(message = "用户id不能为空")
    private Long userId;

    @Schema(description = "用户名称")
    @Size(max=64, message="用户名称长度不能超过64个字符")
    private String userName;

    @Schema(description = "更新用户id")
    //@NotNull(message = "更新用户id不能为空")
    private Long updateUserId;

    @Schema(description = "更新用户名称")
    @Size(max=64, message="更新用户名称长度不能超过64个字符")
    private String updateUserName;

    @Schema(description = "部门id")
    //@NotNull(message = "部门id不能为空")
    private Long deptId;

    @Schema(description = "部门名称")
    @Size(max=64, message="部门名称长度不能超过64个字符")
    private String deptName;

    @Schema(description = "文件名称")
    //@Size(max=64, message="文件名称长度不能超过64个字符")
    private String fileName;

    @Schema(description = "文件路径")
    @Size(max=512, message="文件路径长度不能超过512个字符")
    private String filePath;

    @Schema(description = "备注")
    @Size(max=65535, message="备注长度不能超过65535个字符")
    private String remark;

    @Schema(description = "触动机构处理列表")
    private List<LpsOrderCdjgVO> cdjgList;

    @Schema(description = "触动机构+C处理列表")
    private List<LpsOrderCdjgCVO> cdjgCList;

    @Schema(description = "配件处理列表")
    private List<LpsOrderPjVO> pjList;

    @Schema(description = "新产品处理列表")
    private List<LpsOrderXcpVO> xcpList;

    @Schema(description = "新产品 线处理列表")
    private List<LpsOrderXianVO> xianList;

    @Schema(description = "利居 处理列表")
    private List<LpsOrderLjVO> ljList;

    @Schema(description = "永乐 处理列表")
    private List<LpsOrderYlVO> ylList;

    @Schema(description = "扶手 处理列表")
    private List<LpsOrderFsVO> fsList;


}
